ShortCut na Desktop
Otázka od: Števlík Marián
25. 10. 2002 7:43
Caute
Chcel sby som sa vas opytat, ako mozem k nejakemu suboru (predpokladajme ze
ide o exe) vytvorit programovo shortcut a aby bol umiestneny na desktop?
Dik
Stevlik Marian
Software Development Specialist
MERLIN
Stefanikova 32
150 00 Prague 5
Czech Republic
e-mail: marian.stevlik@merlin.cz
tel: +420 241010111 (181)
fax: +420 241010165
ICQ: 38493645
Odpovedá: ing. Jan Fiala
25. 10. 2002 8:20
Na zjisteni adresare plochy muzes pouzit treba funkci z JCL
GetDeskTopDirectory. Jako AFileName predas jmeno zastupce, treba
IncludeTrailingBackSlash(GetDeskTopDirectory) + 'Word.lnk'
Procedura vytvori zastupce podle spusteneho programu
(Application.ExeName), ale to uz si urcite upravis podle potreby
Uses ShlObj, ActiveX, ComObj...
procedure Link(AFileName: string);
var
Link: IShellLink;
IPFile: IPersistFile;
s: string;
s2: WideString;
begin
if not FileExists(AFileName) then
begin
Link := CreateComObject(CLSID_ShellLink) as IShellLink;
IPFile := Link as IPersistFile;
s := Application.ExeName;
OleCheck(Link.SetPath(PChar(s)));
s := ExtractFileDir(Application.ExeName);
OleCheck(Link.SetWorkingDirectory(PChar(s)));
s2 := AFileName;
OleCheck(IPFile.Save(PWideChar(s2), False));
end;
end;
--
ing. Jan Fiala
mailto:jan.fiala@iol.cz
25.10.2002 Števlík Marián:
> Caute
> Chcel sby som sa vas opytat, ako mozem k nejakemu suboru (predpokladajme ze
> ide o exe) vytvorit programovo shortcut a aby bol umiestneny na desktop?
> Dik
Odpovedá: Blazek Jaroslav
25. 10. 2002 7:33
Ahoj,
> Marian.Stevlik@merlin.cz 25.10.02 6:24 >>>
>Chcel sby som sa vas opytat, ako mozem k nejakemu suboru (predpokladajme ze
>ide o exe) vytvorit programovo shortcut a aby bol umiestneny na desktop?
http://www.windev.cz/clanek.asp?stranka=shell_I.htm
S pozdravem
Bc. Jaroslav Blazek
Access-IT Ceska Lipa
mailto:jaroslav.blazek@access-it.cz
http://www.access-it.cz
ICQ# : 133673990
+420605/813644
Odpovedá: Petr Vones
25. 10. 2002 14:56
From: "Števlík Marián" <Marian.Stevlik@merlin.cz>
> Chcel sby som sa vas opytat, ako mozem k nejakemu suboru (predpokladajme ze
> ide o exe) vytvorit programovo shortcut a aby bol umiestneny na desktop?
Napriklad pomoci funkce ShellLinkCreateSystem z JCL:
http://sourceforge.net/project/showfiles.php?group_id=47514&release_id=118195
http://delphi-jedi.org/CODELIBJCL
uses
ComObj, ShlObj, JclShell;
procedure TForm1.Button1Click(Sender: TObject);
var
Link: TShellLink;
begin
FillChar(Link, SizeOf(Link), 0);
Link.Target := 'notepad.exe';
Link.Description := 'My Notepad';
OleCheck(ShellLinkCreateSystem(Link, CSIDL_DESKTOP, 'Notepad.lnk'));
end;
Petr Vones